package com.yt.claim.models.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;

@Data
@TableName("claim_info")
public class ClaimInfoEntity {

    /**
     * 主键、自增
     */
    @TableId(value = "claim_id", type = IdType.AUTO)
    private Integer claimId;

    /**
     * 关联保单表
     */
    @TableField("policy_id")
    private Integer policyId;

    /**
     * 关联用户表
     */
    @TableField("user_id")
    private Long userId;

    /**
     * 索赔申请单编号，唯一
     */
    @TableField("claim_no")
    private String claimNo;

    /**
     * 出险时间
     */
    @TableField("accident_time")
    private Date accidentTime;

    /**
     * 关联出险原因字典
     */
    @TableField("reason_attr_id")
    private Integer reasonAttrId;

    /**
     * 就诊医院名称
     */
    @TableField("hospital_name")
    private String hospitalName;

    /**
     * 就诊时间
     */
    @TableField("treatment_time")
    private Date treatmentTime;

    /**
     * 诊断结果
     */
    @TableField("diagnosis_result")
    private String diagnosisResult;

    /**
     * 治疗费用总金额
     */
    @TableField("treatment_amount")
    private BigDecimal treatmentAmount;

    /**
     * 开户行
     */
    @TableField("bank_name")
    private String bankName;

    /**
     * 银行账号
     */
    @TableField("bank_account")
    private String bankAccount;

    /**
     * 开户名
     */
    @TableField("account_name")
    private String accountName;

    /**
     * 索赔材料存储路径
     */
    @TableField("claim_materials")
    private String claimMaterials;

    /**
     * 索赔材料数量，1
     */
    @TableField("material_count")
    private Byte materialCount;

    /**
     * 关联索赔状态字典，默认待审核
     */
    @TableField("status_attr_id")
    private Integer statusAttrId;

    /**
     * 创建时间，默认当前时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新时间，默认当前时间且更新时自动刷新
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 逻辑删除，0 = 正常、1 = 删除
     */
    @TableField("is_delete")
    @TableLogic
    private Byte isDelete;
}